package cn.bugstack.springframework.context;

import cn.bugstack.springframework.beans.BeansException;

/**
 * <p>SPI 接口配置应用上下文
 * <p>reference: DerekYRC https://github.com/DerekYRC/mini-spring
 * <p>SPI interface to be implemented by most if not all application contexts.
 * Provides facilities to configure an application context in addition
 * to the application context client methods in the
 *
 * @author Yaxi.Zhang
 * @since 2022/12/17 09:11
 */
public interface ConfigurableApplicationContext extends ApplicationContext {

    /**
     * 刷新容器
     *
     * @throws BeansException bean异常
     */
    void refresh() throws BeansException;

    void registerShutdownHook();

    void close();

}
